{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Simulation of Widget-Adjustable Parametric Circuit\n",
    "\n",
    "Suppose you are interested in printing out the state vector\n",
    "of a quantum circuit at various times (points) in its evolution, as well\n",
    "as at the end of the circuit. Qubiter can do that.\n",
    "\n",
    "Furthermore, suppose that the circuit is a parametric one, and you want to\n",
    "vary its parameters using sliders on a gui (graphical user interface).\n",
    "Qubiter can do that too, via a jupyter notebook with widgets.\n",
    "This notebook is one such notebook. \n",
    "\n",
    "\n",
    "A jupyter\n",
    "notebook with widgets gives you\n",
    "the best of both worlds, the gui world and the notebooks world.\n",
    "\n",
    "Gui's excel at reducing the possibility of user errors, increasing the ease of use for the user,\n",
    "and reducing the amount of understanding of the code \n",
    "that is demanded from the user in order for him or her to use \n",
    "the code correctly.\n",
    "\n",
    "Notebooks excel at providing a robust, flexible, ready made, familiar method of documenting\n",
    "and saving your work for multiple use cases. They are also great for \n",
    "explaining your work to others with great detail and precision."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/home/rrtucci/PycharmProjects/qubiter/qubiter/jupyter_notebooks\n",
      "/home/rrtucci/PycharmProjects/qubiter\n"
     ]
    }
   ],
   "source": [
    "# cd to the Qubiter directory and add it to your path environmental variable\n",
    "import os\n",
    "import sys\n",
    "print(os.getcwd())\n",
    "os.chdir('../../')\n",
    "print(os.getcwd())\n",
    "sys.path.insert(0,os.getcwd())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will first construct the quantum\n",
    "circuit that we are interested in studying.\n",
    "\n",
    "Note that we insert a PRINT statement at each point \n",
    "at which we want a printout of\n",
    "the state vector (except at the end point which has an implicit PRINT\n",
    "statement). \n",
    "\n",
    "Note also that \n",
    "the angles for some gates are special strings \n",
    "with hash characters in them instead of floats.\n",
    "These placeholder variable or parameter\n",
    "strings have been explained elsewhere,\n",
    "in another jupyter notebook."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A PRINT statement in the 'ALL' style will\n",
    "print out a bunch of text info about the state vector\n",
    "at the point in the evolution where the print statement is located.\n",
    "The 'ALL+' style will printout\n",
    "everything that the 'ALL' style prints out, plus it\n",
    "prints a bar graph of the probability \n",
    "associated with each component of the state vector."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loaded OneQubitGate, WITHOUT autograd.numpy\n"
     ]
    }
   ],
   "source": [
    "from qubiter.jupyter_notebooks.utilities_nb import run_sim_gui\n",
    "from qubiter.SEO_writer import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_qbits = 3\n",
    "file_prefix = 'widgets_simulation_test'\n",
    "\n",
    "emb = CktEmbedder(num_qbits, num_qbits)\n",
    "wr = SEO_writer(file_prefix, emb)\n",
    "wr.write_Ry(0, rads='#1*.5')\n",
    "wr.write_Ry(1, rads='#2*.5')\n",
    "wr.write_cnot(0, 1)\n",
    "wr.write_PRINT('ALL+')\n",
    "wr.write_Ry(0, rads='#3*.5')\n",
    "wr.write_Ry(1, rads='#4*.5')\n",
    "wr.write_cnot(0, 1)\n",
    "wr.write_PRINT('ALL+')\n",
    "\n",
    "trols = Controls(num_qbits)\n",
    "trols.bit_pos_to_kind = {0:True, 1:False}\n",
    "trols.refresh_lists()\n",
    "wr.write_controlled_one_qbit_gate(2, trols,\n",
    "                                 OneQubitGate.rot_ax, ['fun#1#3', 1])\n",
    "\n",
    "wr.close_files()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table style='font-family:monospace'><tr><td style='border-right:1px solid red;'>1</td><td style='text-align:left;'><pre>ROTY\t#1*.5\tAT\t0</pre></td></tr><td style='border-right:1px solid red;'>2</td><td style='text-align:left;'><pre>ROTY\t#2*.5\tAT\t1</pre></td></tr><td style='border-right:1px solid red;'>3</td><td style='text-align:left;'><pre>SIGX\tAT\t1\tIF\t0T</pre></td></tr><td style='border-right:1px solid red;'>4</td><td style='text-align:left;'><pre>PRINT\tALL+</pre></td></tr><td style='border-right:1px solid red;'>5</td><td style='text-align:left;'><pre>ROTY\t#3*.5\tAT\t0</pre></td></tr><td style='border-right:1px solid red;'>6</td><td style='text-align:left;'><pre>ROTY\t#4*.5\tAT\t1</pre></td></tr><td style='border-right:1px solid red;'>7</td><td style='text-align:left;'><pre>SIGX\tAT\t1\tIF\t0T</pre></td></tr><td style='border-right:1px solid red;'>8</td><td style='text-align:left;'><pre>PRINT\tALL+</pre></td></tr><td style='border-right:1px solid red;'>9</td><td style='text-align:left;'><pre>ROTX\tfun#1#3\tAT\t2\tIF\t1F\t0T</pre></td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can ask wr to print the English file just created\n",
    "wr.print_eng_file(jup=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table style='font-family:monospace'><tr><td style='border-right:1px solid red;'>1</td><td style='text-align:left;'><pre>|   |   Ry</pre></td></tr><td style='border-right:1px solid red;'>2</td><td style='text-align:left;'><pre>|   Ry  |</pre></td></tr><td style='border-right:1px solid red;'>3</td><td style='text-align:left;'><pre>|   X---@</pre></td></tr><td style='border-right:1px solid red;'>4</td><td style='text-align:left;'><pre>PRINT\tALL+</pre></td></tr><td style='border-right:1px solid red;'>5</td><td style='text-align:left;'><pre>|   |   Ry</pre></td></tr><td style='border-right:1px solid red;'>6</td><td style='text-align:left;'><pre>|   Ry  |</pre></td></tr><td style='border-right:1px solid red;'>7</td><td style='text-align:left;'><pre>|   X---@</pre></td></tr><td style='border-right:1px solid red;'>8</td><td style='text-align:left;'><pre>PRINT\tALL+</pre></td></tr><td style='border-right:1px solid red;'>9</td><td style='text-align:left;'><pre>Rx--O---@</pre></td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can ask wr to print the Picture file just created\n",
    "wr.print_pic_file(jup=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "All the gui code is prepackaged and\n",
    "included in a method called `run_sim_gui()`\n",
    "included in the file `utilities_nb.py`"
   ]
  },
  {
   "attachments": {
    "gui-qubiter-sim.jpeg": {
     "image/jpeg": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This is a static jpeg showing what the widgets look like. A new, different interactive javascript rendering of the widgets will be generated when you run the notebook. To generate this cell, I: \n",
    "1. printed the computer screen, and then cropped the image with Gimp to produce the final jpeg\n",
    "2. made this cell a markdown cell, and then drag&dropped the final jpeg into this cell\n",
    "3. added these instructions at the top of the cell\n",
    "4. ran this cell\n",
    "![gui-qubiter-sim.jpeg](attachment:gui-qubiter-sim.jpeg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a3c81a6ebfbb43ffa9dd9a89237d7f71",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(VBox(children=(FloatSlider(value=130.0, max=1080.0, orientation='vertical', step=10.0), FloatTe…"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "degs_1 = 130.000000 (2.268928 rads)\n",
      "degs_2 = 240.000000 (4.188790 rads)\n",
      "degs_3 = 380.000000 (6.632251 rads)\n",
      "degs_4 = 70.000000 (1.221730 rads)\n",
      "\n",
      "*************************beginning PRINT output\n",
      "PRINT line number=4\n",
      "*********branch= pure\n",
      "state vector:\n",
      "ZL convention (Zero bit Last in state tuple)\n",
      "(000)ZL (-0.211309 + 0.000000j)\t prob=0.044652\n",
      "(010)ZL (-0.365998 + 0.000000j)\t prob=0.133955\n",
      "(001)ZL ( 0.784886 + 0.000000j)\t prob=0.616045\n",
      "(011)ZL ( 0.453154 + 0.000000j)\t prob=0.205348\n",
      "total probability of state vector (=one if no measurements)= 1.000000\n",
      "dictionary with key=qubit, value=(Prob(0), Prob(1))\n",
      "{0: (0.178606, 0.821394), 1: (0.660697, 0.339303), 2: (1.0, 0.0)}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "****************************ending PRINT output\n",
      "\n",
      "*************************beginning PRINT output\n",
      "PRINT line number=8\n",
      "*********branch= pure\n",
      "state vector:\n",
      "ZL convention (Zero bit Last in state tuple)\n",
      "(000)ZL ( 0.220423 + 0.000000j)\t prob=0.048586\n",
      "(010)ZL ( 0.189609 + 0.000000j)\t prob=0.035952\n",
      "(001)ZL ( 0.046775 + 0.000000j)\t prob=0.002188\n",
      "(011)ZL (-0.955654 + 0.000000j)\t prob=0.913274\n",
      "total probability of state vector (=one if no measurements)= 1.000000\n",
      "dictionary with key=qubit, value=(Prob(0), Prob(1))\n",
      "{0: (0.084538, 0.915462), 1: (0.050774, 0.949226), 2: (1.0, 0.0)}\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3df3Rc5X3n8fc3FjIxxL9iE7BGqa2OMtgQIKxlkXrXUezkYLXpkAQTi6ZIULNKYhFS+ZAo2daB7S61c+ouJIUkXWqIQ4uH2IGKUlsu60bY6QHEb2oPUaQgYUnQ4phgEI7lSPruH3OtjGTJGln26Er6vM65R3Of+32eee7DwIc7czUyd0dERCRs3jPWExARERmMAkpEREJJASUiIqGkgBIRkVBSQImISCgpoEREJJQUUCKTjJm1mtknxnoeIsNRQIlkyMxuM7O/H+t5iEwWCigREQklBZTIIMysxsw6zOwdM2s0sz8A/gew2sw6zezFk/QtM7NnBrRVm9kjweOpZrbJzA6Y2X+a2ffN7L1ptVeZ2Qtm9raZ/cLMVg4z13oz22BmDWZ22MxqzWx22vHrzOxVMztkZn92qmsikm0KKJEBzCwG3AQUufv7gCuBnwF/CTzo7ue6+6UnGeIRIGZmhWltfwQ8EDz+FvAh4DIgCuQB3wyeewnwQ+CrwExgGdCawbTLgT8B5gHdwHeC8RYB3wOuC469H4hkMJ7ImFNAiZyoB5gKLDKzs9y91d1/kWlndz8C1ALXAgRBdSHwiJkZ8N+Band/093fIRV8ZUH3NcC97v6Yu/e6e4e7/yyDp73f3fe5+7vAeuBzZjYFWAU86u573L0rONab6bmIjCUFlMgA7t4M/ClwG/CGmSXMbN4Ih3mAIKBIXT39YxBcc4FpwLNm9paZvQXUBe0A+UDGYZimLe3xq8BZwBxSV019x4IAO3QK44tknQJKZBDu/oC7/1fgdwAn9bbcSL76/1+AOWZ2GamgOv723i+BXwMXufvMYJvh7ucGx9uA3z2FKeenPf4g8JvguV5PP2Zm00i9zScSegookQHMLGZmy81sKnCUVKD0AP8JzDezYf+9cfduYDvwV8Bs4LGgvRe4B7jDzM4Lni/PzK4Mum4GbjCzFWb2nuDYhRlM+4/NbFEQQH8BbHf3nmAOnzKz/2pmucEx/Xsv44JeqCInmgpsJHUF8h/AeaTu4NsWHD9kZs9lMM4DwCeAbUFgHVcDNANPmtnbwP8DYgDu3gDcANwBHAYeJ3UVN5z7gR8E8z0buDkYbz9QFczldeBXQHsG44mMOdMfLBQZ38ysHvh7d/+7sZ6LyOmkKygREQmlnLGegMh4ZWadQxwqdfe92Xqu0/k8ImGit/hERCSU9BafiIiE0rh9i2/mzJkejUbHehoT3rvvvss555wz1tOY8LTO2aF1zp5nn332l+4+d/jKoY3bgPrABz7AM888M3yhjEp9fT0lJSVjPY0JT+ucHVrn7DGzV0c7ht7iExGRUFJAiYhIKCmgREQklBRQIiISSgooEREJJQWUiIiEkgJKRERCSQElIiKhpIASEZFQGrffJHHkCJiNbgx9T66ISHjpCkpEREJJASUiIqGkgBIRkVBSQAF1dXXEYjGi0SgbN2484XhXVxerV68mGo1SXFxMa2trv+MHDhzg3HPPZdOmTX1t3/72t7n44ou56KKLuPPOO8/0KYiITDiTPqB6enqoqqpi586dJJNJtm7dSjKZ7FezefNmZs2aRXNzM9XV1dTU1PQ7Xl1dTWnpb//y9r59+7jnnntoaGjgxRdf5NFHH6WpqSkr5yMiMlFM+oBqaGggGo1SUFBAbm4uZWVl1NbW9qupra2loqICgFWrVrF79248uAXwH//xHykoKOCiiy7qq3/55Ze54oormDZtGjk5OXzsYx/j4Ycfzt5JiYhMAJM+oDo6OsjPz+/bj0QidHR0DFmTk5PDjBkzOHToEO+++y7f+ta3uPXWW/vVX3zxxezZs4dDhw5x5MgRduzYQVtb25k/GRGRCSSjgDKzlWbWaGbNZvb1oG2BmT1lZk1m9qCZ5QbtU4P95uD4/KD9djN7IW37uZn1mNm5Zna9md11pk7yZHyQX4ayAb9gNVTNrbfeSnV1Neeee26/YwsXLqSmpoZPfvKTrFy5kksvvZScnHH7K2ciImNi2IAysynA3UApsAi41swWAd8C7nD3QuBXwJqgyxrgV+4eBe4I6nD3P3P3y45vwNPABnfvPN0nNRKRSKTf1U17ezvz5s0bsqa7u5vDhw8ze/ZsnnrqKb72ta8xf/587rzzTv7yL/+Su+5K5eyaNWt47rnn2LNnD7Nnz6awsDB7JyUiMgFk8r/1S4Bmd38FwMwSwFXAcuCPgpotwG3A94JjtwXt24G7zMw87TLEzP4YiAIVoz+F0SkqKqKpqYmWlhby8vJIJBI88MAD/Wri8Thbtmzhox/9KNu3b2f58uWYGXv37u2rue222zj33HO56aabAHjjjTc477zzOHDgAA899BBPPPFEVs9LRGS8yySg8oD0D1DagWLgLXfvTmvLG1jv7t1mdhh4P/BLgOAtv41ASVr/jJhZJVAJMGfOXDZtqh9J9xPUB90rKytZtmwZvb29lJaWcvDgQcrLy4nFYixdupTCwkK2bdtGXl4e06dPZ/369dQf7xxobW3lve99b1/7zTffzNtvv82UKVNYu3YtL7744qjmOlY6OztPOFc5/bTO2aF1Hl9ssM9X+hWYXQNc6e43BvvXAb8HfDJ4Gw8zywd2uPuHzWx/UN8eHPsFsMTdDwVvFz4ObHb3+9Ke43pgsbvflOnE8/Nj3t7eOIJTPZG+i2949fX1lJSUjPU0Jjytc3ZonbPHzJ5198WjGSOTmyTagfy0/QhwAJhpZjlpba8NrA+OzwDeDI79OfB6ejiJiIgMJpOAehooDO7aywXKgEeAnwCrgpoK4PgvDz3Cbz9bWgX8q7u7mV0BXE/wFp2IiMjJDPsZVPA50k3ALmAKcK+77zezGiBhZv8beB7YHHTZDNxvZs2krpzKgvb/CUwDfjLgNu6rg5/Xm9mn09qvOP42oYiITD4Z/XKOu+8Adgxoe4XUHX4Da48C1wzSfuVJnuIXwA8ymYuIiEwOk/6bJEREJJwUUCIiEkoKKBERCSUFlIiIhJICSkREQmncfsX2tGn6JggRkYlMV1AiIhJKCigREQklBZSIiISSAkpEREJJASUiIqGkgBIRkVBSQImISCgpoEREJJTGfUDV1dURi8WIRqNs3LjxhONdXV2sXr2aaDRKcXExra2tfcc2bNhANBolFouxa9cuANra2vj4xz/OwoULueiii/j2t7+drVMREZE04zqgenp6qKqqYufOnSSTSbZu3UoymexXs3nzZmbNmkVzczPV1dXU1NQAkEwmSSQS7N+/n7q6OtauXUtPTw85OTn89V//NS+//DJPPvkkd9999wljiojImTeuA6qhoYFoNEpBQQG5ubmUlZVRW1vbr6a2tpaKitRfoF+1ahW7d+/G3amtraWsrIypU6eyYMECotEoDQ0NXHDBBVx++eUAvO9972PhwoV0dHRk/dxERCa7cR1QHR0d5Ofn9+1HIpETwiS9JicnhxkzZnDo0KGM+ra2tvL8889TXFx8Bs9CREQGk1FAmdlKM2s0s2Yz+3rQtsDMnjKzJjN70Mxyg/ZlZvacmXWb2aq0MarM7IW0bZ+ZuZktNLMSM3t0pJP3Qb4t1swyqhmub2dnJ1dffTV33nkn06dPH+nURERklIYNKDObAtwNlAKLgGvNbBHwLeAOdy8EfgWsCbocAK4HHkgfx93vdvfLjm/AI8A/uPvLpzr5SCRCW1tb3357ezvz5s0bsqa7u5vDhw8ze/bsk/b9zW9+w9VXX83nP/95PvvZz57q9EREZBQyuYJaAjS7+yvufgxIAFcBy4HtQc0W4NMA7t7q7i8BvUMNaGbLgM8Ba0cxd4qKimhqaqKlpYVjx46RSCSIx+P9auLxOFu2bAFg+/btLF++HDMjHo+TSCTo6uqipaWFpqYmlixZgruzZs0aFi5cyLp160YzPRERGYVM/h5UHtCWtt8OFANvuXt3WlteJk9oZjOB+4Byd397BHPFzCqBSoC5c+fy05/+lMrKSpYtW0Zvby+lpaUcPHiQ8vJyYrEYS5cupbCwkG3btpGXl8f06dNZv3499fX1QCrgCgoKmDJlClVVVezdu5d///d/5/7776egoIBHH02963jjjTdyxRVXjGSqE0ZnZ2ffesmZo3XODq3z+GKDfRbTr8DsGuBKd78x2L8O+D3gk+4eDdrygR3u/uG0fj8AHnX37QPG2wr83N1vTWsrAW5x909lOvFYLOaNjY2Zlsspqq+vp6SkZKynMeFpnbND65w9Zvasuy8ezRiZXEG1A/lp+xFSnzPNNLOc4CoqArw23EBmVgHMB64b+VRFRGQyyeQzqKeBwuCuvVygjNQNDj8Bjt+lVwHUDtEfADMrAG4HPp/21qCIiMighg2oIExuAnYBLwM/cvf9QA2wzsyagfcDmwHMrMjM2oFrgL81s/3BUDXAOcBDA243/2/B8RVm1p62ffR0nqiIiIwvmbzFh7vvAHYMaHuF1B1+A2ufJvWW38D2LwBfOMnTvDeTuYiIyOQwrr9JQkREJi4FlIiIhJICSkREQkkBJSIioaSAEhGRUFJAiYhIKCmgREQklBRQIiISSgooEREJJQWUiIiEUkZfdRRGR47AgL/uPqxh/rKIiIiEiK6gREQklBRQIiISSgooEREJpUkXUHV1dcRiMaLRKBs3bjzheFdXF6tXryYajVJcXExraysADQ0NXHbZZVx22WVceumlPPzww3193nrrLVatWsWFF17IwoULeeKJJ7J1OiIiE9a4vUniVPT09FBVVcVjjz1GJBKhqKiIeDzOokWL+mo2b97MrFmzaG5uJpFIUFNTw4MPPsjFF1/MM888Q05ODq+//jqXXnopf/iHf0hOTg5f+cpXWLlyJdu3b+fYsWMcOXJkDM9SRGRimFRXUA0NDUSjUQoKCsjNzaWsrIza2v5/qb62tpaKigoAVq1axe7du3F3pk2bRk5OKs+PHj2KBbcQvv322+zZs4c1a9YAkJuby8yZM7N4ViIiE9OkCqiOjg7y8/P79iORCB0dHUPW5OTkMGPGDA4dOgTAU089xUUXXcSHP/xhvv/975OTk8Mrr7zC3LlzueGGG/jIRz7CjTfeyLvvvpu9kxIRmaAyCigzW2lmjWbWbGZfD9puCvbdzOak1ZqZfSc49pKZXR60V5nZC2nbvqDvQjMrMbNHz8wp/pYP8otQNuCXqU5WU1xczP79+3n66afZsGEDR48epbu7m+eee44vfelLPP/885xzzjmDfrYlIiIjM2xAmdkU4G6gFFgEXGtmi4B/Az4BvDqgSylQGGyVwPcA3P1ud7/s+AY8AvyDu798uk5mOJFIhLa2tr799vZ25s2bN2RNd3c3hw8fZvbs2f1qFi5cyDnnnMO+ffuIRCJEIhGKi4uB1NuCzz333Bk+ExGRiS+TK6glQLO7v+Lux4AEcJW7P+/urYPUXwX80FOeBGaa2QXpBWa2DPgcsHZ00x+ZoqIimpqaaGlp4dixYyQSCeLxeL+aeDzOli1bANi+fTvLly/HzGhpaaG7uxuAV199lcbGRubPn8/5559Pfn4+jY2NAOzevbvfTRciInJqMrmLLw9oS9tvB4pHWJ8HvA5gZjOB+4Byd397JJM1s0pSV2XMmTOXTZvqR9Kdn/4UKisrWbZsGb29vZSWlnLw4EHKy8uJxWIsXbqUwsJCtm3bRl5eHtOnT2f9+vXU19fzL//yLzzwwAPk5OTwnve8h7Vr17Jv3z4AKioqiMfjdHd3c8EFF1BTU0N9/cjmFladnZ0T5lzCTOucHVrn8cUG+8ylX4HZNcCV7n5jsH8dsMTdvxzstwKL3f2Xwf4/Axvc/afB/m7ga+7+bLC/Ffi5u9+a9hwlwC3u/qlMJ56fH/P29sZMywF9F9+pqK+vp6SkZKynMeFpnbND65w9Zvasuy8ezRiZXEG1A/lp+xHgtVOpN7MKYD5w3YhmKSIik04mn0E9DRSa2QIzywXKSN3gMJRHgPLgbr4rgMPu/rqZFQC3A5939+5Rz1xERCa0Ya+g3L3bzG4CdgFTgHvdfb+Z3Qx8DTgfeMnMdgRvA+4Afh9oBo4ANwRD1QDnAA8NuLX7y8HPFWbWntZ+jbvrO4NERCapjL7qyN13kAqe9LbvAN8ZpNaBqkHavwB84SRP895M5iIiIpPDpPomCRERGT8UUCIiEkoKKBERCSUFlIiIhJICSkREQmnc/sHCadP0zRAiIhOZrqBERCSUFFAiIhJKCigREQklBZSIiISSAkpEREJp3AbUkSNgpu1Mb88+O/ZzmAyb1lnrfLq3iWDcBpSIiExsCigREQklBZSIyARWV1dHLBYjGo2ycePGE46/+uqrrFixgksuuYSSkhLa23/7Z/lWrlzJzJkz+dSnPtWvz5o1a7j00ku55JJLWLVqFZ2dnWdk7gooEZEJqqenh6qqKnbu3EkymWTr1q0kk8l+Nbfccgvl5eW89NJLfPOb3+Qb3/hG37GvfvWr3H///SeMe8cdd/Diiy/y0ksv8cEPfpC77rrrjMxfASUiMkE1NDQQjUYpKCggNzeXsrIyamtr+9Ukk0lWrFgBwMc//vF+x1esWMH73ve+E8adPn06AO7Or3/9a+wM3ZWhgBIRmaA6OjrIz8/v249EInR0dPSrufTSS/nxj38MwMMPP8w777zDoUOHhh37hhtu4Pzzz+dnP/sZX/7yl0/vxAMZBZSZrTSzRjNrNrOvB203BftuZnPSai80syfMrMvMbklr/4yZvTBg6zWzUjObb2b7Tv/piYhMXj7IN2oPvNrZtGkTjz/+OB/5yEd4/PHHycvLIydn+O8Rv++++3jttddYuHAhDz744Gmbc7phA8rMpgB3A6XAIuBaM1sE/BvwCeDVAV3eBG4GNqU3uvvD7n7Z8Q34LrAX2DXqsxARkRNEIhHa2tr69tvb25k3b16/mnnz5vHQQw/x/PPPc/vttwMwY8aMjMafMmUKq1ev7rsCO90yuYJaAjS7+yvufgxIAFe5+/Pu3jqw2N3fcPengd8MNaCZfQj4JnCdu/ee2tRFRORkioqKaGpqoqWlhWPHjpFIJIjH4/1qfvnLX9Lbm/rP8IYNG/iTP/mTk47p7jQ3N/c9/qd/+icuvPDCMzL/TP4eVB7QlrbfDhSf6hOa2VnAA8At7n5ghH0rgUqAOXPmsmlT/alOQzIUiXRqnbNA65wdk2md6+tTPysrK1m2bBm9vb2UlpZy8OBBysvLicViLF26lMcff5x77rkHM+OSSy7hK1/5CvVB55tvvpkDBw7w61//mrlz5/LVr36VxYsXc/PNN3PkyBHcnd/93d+lurq6r89p5e4n3YBrgL9L278O+Ju0/VZgziD9biMVQgPbNwJbBrTNB/YNN5f0LRL5kKf+ZKG2M7lt2vSTMZ/DZNi0zlrn072NNeAZ98z/mz7YlskVVDuQn7YfAV47lTA0sxLgauDyU+kvIiKTRyafQT0NFJrZAjPLBcqAR0b6RGY2C7gPKHf3d0baX0REJpdhA8rdu4GbSN1t9zLwI3ffb2Y3m1k7qSuql8zs7wDM7PygfR3w52bWbmbTgS8C5wHfG3Cr+ergqWJB7fHtmtN/uiIiMl5k8hYf7r4D2DGg7TvAdwap/Q9SoTXQhmAbylmZzEVERCYHfZOEiIiEkgJKRERCSQElIiKhpIASEZFQUkCJiEgoZXQXXxhNm5b6fWk5s+rrtc7ZoHXODq3z+KIrKBERCSUFlIiIhJICSkREQkkBJSIioaSAEhGRUFJAiYhIKCmgREQklBRQIiISSgooEREJpXEdUHV1dcRiMaLRKBs3bjzheFdXF6tXryYajVJcXExra2vfsQ0bNhCNRonFYuzatSvjMUVEJDvGbUC5O1VVVezcuZNkMsnWrVtJJpP9ajZv3sysWbNobm6murqampoaAJLJJIlEgv3791NXV8fatWvp6emhp6dn2DFFRCQ7xm1AHT16lGg0SkFBAbm5uZSVlVFbW9uvpra2loqKCgBWrVrF7t27cXdqa2spKytj6tSpLFiwgGg0SkNDAw0NDcOOKSIi2TFuA6q7u5v8/Py+/UgkQkdHR7+ajo6OvpqcnBxmzJjBoUOH+rWn9x2qXUREsi+jgDKze83sDTPbl9Y228weM7Om4OesoN3M7Dtm1mxmL5nZ5UF7lZm9kLbtMzM3s4VmVmJmj472ZMys374P8rXFZjbidhERyb5Mr6B+AKwc0PZ1YLe7FwK7g32AUqAw2CqB7wG4+93uftnxDXgE+Ad3f/lUJp6Tk0NbW1vffnt7O/PmzetXE4lE+mq6u7s5fPgws2fP7tee3neodhERyb6MAsrd9wBvDmi+CtgSPN4CfDqt/Yee8iQw08wuSO9oZsuAzwFrT3XiZ599Nk1NTbS0tHDs2DESiQTxeLxfTTweZ8uW1BS3b9/O8uXLMTPi8TiJRIKuri5aWlpoampiyZIlFBUVDTumiIhkx2j+YOEH3P11AHd/3czOC9rzgLa0uvag7XUAM5sJ3AeUu/vbI3lCM6skdVXG3LlzWbduHcuWLaO3t5fS0lIOHjxIeXk5sViMpUuXUlhYyLZt28jLy2P69OmsX7+e+vp6AIqKiigoKGDKlClUVVWxd+9eACorK08Y83ifyaizs3NSn3+2aJ2zQ+s8vthgn7sMWmg2H3jU3S8O9t9y95lpx3/l7rPM7J+BDe7+06B9N/A1d3822N8K/Nzdb03rWwLc4u6fynTisVjMGxsbMy2XU1RfX09JSclYT2PC0zpnh9Y5e8zsWXdfPJoxRnMF9Z9mdkFw9XQB8EbQ3g7kp9VFgNcAzKwCmA9cN4rnFRGRSWA0t5k/AlQEjyuA2rT28uBuviuAw0GIFQC3A5939+5RPK+IiEwCGV1BBW/LlQBzzKwduBXYCPzIzNYAB4BrgvIdwO8DzcAR4IagvQY4B3howK3bXw5+rgjGPu4ad39ipCckIiITQ0YB5e7XDnFoxSC1DlQN0v4F4AsneZr3ZjIXERGZHMbtN0mIiMjEpoASEZFQUkCJiEgoKaBERCSUFFAiIhJKCigREQklBZSIiISSAkpEREJJASUiIqGkgBIRkVBSQImISCgpoEREJJQUUCIiEkoKKBERCaVxHVB1dXXEYjGi0SgbN2484XhXVxerV68mGo1SXFxMa2tr37ENGzYQjUaJxWLs2rUr4zFFRCQ7xm1AuTtVVVXs3LmTZDLJ1q1bSSaT/Wo2b97MrFmzaG5uprq6mpqaGgCSySSJRIL9+/dTV1fH2rVr6enpoaenZ9gxRUQkO8ZtQB09epRoNEpBQQG5ubmUlZVRW1vbr6a2tpaKitRfpV+1ahW7d+/G3amtraWsrIypU6eyYMECotEoDQ0NNDQ0DDumiIhkx7gNqO7ubvLz8/v2I5EIHR0d/Wo6Ojr6anJycpgxYwaHDh3q157ed6h2ERHJvmEDyszuNbM3zGxfWttsM3vMzJqCn7OC9gvN7Akz6zKzW9LqP2NmLwzYes2s1Mzmp489GmbWbz/11+dPrBlpu4iIZF8mV1A/AFYOaPs6sNvdC4HdwT7Am8DNwKb0Ynd/2N0vO74B3wX2Ars4RTk5ObS1tfXtt7e3M2/evH41kUikr6a7u5vDhw8ze/bsfu3pfYdqFxGR7Bs2oNx9D6ngSXcVsCV4vAX4dFD7hrs/DfxmqPHM7EPAN4Hr3L33VCYNcPbZZ9PU1ERLSwvHjh0jkUgQj8f71cTjcbZsSU1z+/btLF++HDMjHo+TSCTo6uqipaWFpqYmlixZQlFR0bBjiohIduScYr8PuPvrAO7+upmdl0knMzsLeAC4xd0PjPRJzawSqASYO3cu69atY9myZfT29lJaWsrBgwcpLy8nFouxdOlSCgsL2bZtG3l5eUyfPp3169dTX18PQFFREQUFBUyZMoWqqir27t0LQGVl5QljHu8zGXV2dk7q888WrXN2aJ3HFxvsc5cTiszmA4+6+8XB/lvuPjPt+K/cfVba/m1Ap7tvGjDORuACd68YauxMxWIxb2xsHEkXOQX19fWUlJSM9TQmPK1zdmids8fMnnX3xaMZ41SvoP7TzC4Irp4uAN4YroOZlQBXA5ef4nOKiMgkcqq3mT8CHL8KqgBO+stCwV1+9wHl7v7OKT6niIhMIsNeQZnZVqAEmGNm7cCtwEbgR2a2BjgAXBPUng88A0wHes3sT4FFwBeB84DvDbhtewPwFBALxj6u2t23je7URERkPBs2oNz92iEOrRik9j+AyCC1G4JtKGcNNw8REZlcxu03SYiIyMSmgBIRkVBSQImISCgpoEREJJQUUCIiEkoKKBERCSUFlIiIhJICSkREQkkBJSIioaSAEhGRUFJAiYhIKCmgREQklBRQIiISSgooEREJpXEdUHV1dcRiMaLRKBs3bjzheFdXF6tXryYajVJcXExra2vfsQ0bNhCNRonFYuzatSvjMUVEJDvGbUC5O1VVVezcuZNkMsnWrVtJJpP9ajZv3sysWbNobm6murqampoaAJLJJIlEgv3791NXV8fatWvp6emhp6dn2DFFRCQ7xm1AHT16lGg0SkFBAbm5uZSVlVFb2/8vz9fW1lJRkfrL9KtWrWL37t24O7W1tZSVlTF16lQWLFhANBqloaGBhoaGYccUEZHsGLcB1d3dTX5+ft9+JBKho6OjX01HR0dfTU5ODjNmzODQoUP92tP7DtUuIiLZN2xAmdm9ZvaGme1La7vGzPabWa+ZLR5Q/w0zazazRjO7Mmj7jJm9MGDrNbNSM5ufPvZomFm/fXcftGak7SIikn2ZXEH9AFg5oG0f8FlgT3qjmS0CyoCLgj7fNbMp7v6wu192fAO+C+wFdnGKcnJyaGtr69tvb29n3rx5/WoikUhfTXd3N4cPH2b27Nn92tP7DtUuIiLZN2xAufse4M0BbS+7e+Mg5VcBCXfvcvcWoBlYkl5gZh8Cvk+E62oAAAnbSURBVAlc5+69pzrxs88+m6amJlpaWjh27BiJRIJ4PN6vJh6Ps2XLFgC2b9/O8uXLMTPi8TiJRIKuri5aWlpoampiyZIlFBUVDTumiIhkR85pHi8PeDJtvz1oA8DMzgIeAG5x9wMjHdzMKoFKgLlz57Ju3TqWLVtGb28vpaWlHDx4kPLycmKxGEuXLqWwsJBt27aRl5fH9OnTWb9+PfX19QAUFRVRUFDAlClTqKqqYu/evQBUVlaeMObxPpNRZ2fnpD7/bNE6Z4fWeXyxwT53OaHIbD7wqLtfPKC9nlTYPBPs3w084e5/H+xvBna4+4+D/Y3ABe5eMdzYw4nFYt7YONhFnJxO9fX1lJSUjPU0Jjytc3ZonbPHzJ5198XDVw7tdF9BtQP5afsR4DUAMysBrgYuP83PKSIiE9Dpvs38EaDMzKaa2QKgEGgws1nAfUC5u79zmp9TREQmoGGvoMxsK1ACzDGzduBWUjdN/A0wF/hnM3vB3a909/1m9iMgCXQDVe7eY2ZfBM4Dvjfgtu0NwFNALBj7uGp33zb60xMRkfFq2IBy92uHOPTwEPW3A7cPaNtAKoyGctZw8xARkcll3H6ThIiITGwKKBERCSUFlIiIhJICSkREQkkBJSIioaSAEhGRUFJAiYhIKCmgREQklBRQIiISSgooEREJJQWUiIiEkgJKRERCSQElIiKhpIASEZFQGtcBVVdXRywWIxqNsnHjxhOOd3V1sXr1aqLRKMXFxbS2tvYd27BhA9FolFgsxq5duzIeU0REsmPcBpS7U1VVxc6dO0kmk2zdupVkMtmvZvPmzcyaNYvm5maqq6upqakBIJlMkkgk2L9/P3V1daxdu5aenh56enqGHVNERLJj3AbU0aNHiUajFBQUkJubS1lZGbW1tf1qamtrqaioAGDVqlXs3r0bd6e2tpaysjKmTp3KggULiEajNDQ00NDQMOyYIiKSHeM2oLq7u8nPz+/bj0QidHR09Kvp6Ojoq8nJyWHGjBkcOnSoX3t636HaRUQk+4YNKDO718zeMLN9aW3XmNl+M+s1s8Vp7e83s5+YWaeZ3ZXWXmxmLwzYjprZl4LjnafjZMys3767D1oz0nYREcm+TK6gfgCsHNC2D/gssGdA+1FgPXBLeqO7P+Xulx3fgK8BrcAPT2HOQOqKqK2trW+/vb2defPm9auJRCJ9Nd3d3Rw+fJjZs2f3a0/vO1S7iIhk37AB5e57gDcHtL3s7o2D1L7r7j8lFVSDMrM5wD3A59393ZFPOeXss8+mqamJlpYWjh07RiKRIB6P96uJx+Ns2bIFgO3bt7N8+XLMjHg8TiKRoKuri5aWFpqamliyZAlFRUXDjikiItmRMwbPuRn4rrs/O9KOZlYJVALMnTuXdevWsWzZMnp7eyktLeXgwYOUl5cTi8VYunQphYWFbNu2jby8PKZPn8769eupr68HoKioiIKCAqZMmUJVVRV79+4FoLKy8oQxj/eZjDo7Oyf1+WeL1jk7tM7jiw32ucsJRWbzgUfd/eIB7fXALe7+zID264HF7n7TgPYvAquBFe7em9be6e7njmTisVjMGxtPuIiT06y+vp6SkpKxnsaEp3XODq1z9pjZs+6+ePjKoWXtCsrMLgT+HLgiPZxEREQGk5XbzM0sF3gAqHb39mw8p4iIjG+Z3Ga+FXgCiJlZu5mtMbPPmFk78FHgn81sV1p9K/B/gOuD+kXA1cCHgT8bcKt5ddBtWlB7fFt3ms9TRETGmWHf4nP3a4c49PAQ9fMHaU4CW0/yHOP2F4ZFROTMUDCIiEgoKaBERCSUFFAiIhJKCigREQklBZSIiISSAkpEREJJASUiIqGkgBIRkVBSQImISCgpoEREJJQUUCIiEkoKKBERCSUFlIiIhJICSkREQkkBJSIioaSAEhGRUDJ3H+s5nBIzewdoHOt5TAJzgF+O9SQmAa1zdmidsyfm7u8bzQDD/kXdEGt098VjPYmJzsye0TqfeVrn7NA6Z4+ZPTPaMfQWn4iIhJICSkREQmk8B9T/HesJTBJa5+zQOmeH1jl7Rr3W4/YmCRERmdjG8xWUiIhMYAooEREJpdAFlJmtNLNGM2s2s68PcnyqmT0YHH/KzOanHftG0N5oZldmc97jTQbrvM7Mkmb2kpntNrPfSTvWY2YvBNsj2Z35+JPBWl9vZgfT1vTGtGMVZtYUbBXZnfn4ksE635G2xj83s7fSjuk1nSEzu9fM3jCzfUMcNzP7TvDP4SUzuzzt2Mhez+4emg2YAvwCKABygReBRQNq1gLfDx6XAQ8GjxcF9VOBBcE4U8b6nMK4ZbjOHwemBY+/dHydg/3OsT6H8bJluNbXA3cN0nc28Erwc1bweNZYn1MYt0zWeUD9l4F70/b1ms58rZcBlwP7hjj++8BOwIArgKeC9hG/nsN2BbUEaHb3V9z9GJAArhpQcxWwJXi8HVhhZha0J9y9y91bgOZgPDnRsOvs7j9x9yPB7pNAJMtznCgyeU0P5UrgMXd/091/BTwGrDxD8xzvRrrO1wJbszKzCcbd9wBvnqTkKuCHnvIkMNPMLuAUXs9hC6g8oC1tvz1oG7TG3buBw8D7M+wrKSNdqzWk/o/ouLPN7Bkze9LMPn0mJjiBZLrWVwdvh2w3s/wR9pURrFXwdvUC4F/TmvWaPn2G+mcx4tdz2L7qyAZpG3gf/FA1mfSVlIzXysz+GFgMfCyt+YPu/pqZFQD/amb/7u6/OAPznAgyWet/Ara6e5eZfZHUOwTLM+wrKSNZqzJgu7v3pLXpNX36nLb/RoftCqodyE/bjwCvDVVjZjnADFKXm5n0lZSM1srMPgH8GRB3967j7e7+WvDzFaAe+MiZnOw4N+xau/uhtPW9B/gvmfaVPiNZqzIGvL2n1/RpNdQ/i5G/nsf6A7cBH67lkPrgbAG//aDzogE1VfS/SeJHweOL6H+TxCvoJonRrPNHSH3oXDigfRYwNXg8B2jiJB9GT/Ytw7W+IO3xZ4Ang8ezgZZgzWcFj2eP9TmFcctknYO6GNBK8CUFQZte0yNf7/kMfZPEH9D/JomGoH3Er+dQvcXn7t1mdhOwi9RdOfe6+34z+wvgGXd/BNgM3G9mzaSunMqCvvvN7EdAEugGqrz/JbwEMlznvwLOBbal7kHhgLvHgYXA35pZL6kr8I3unhyTExkHMlzrm80sTup1+yapu/pw9zfN7H8BTwfD/YW7n+zD6Ukrw3WG1M0RCQ/+ixnQa3oEzGwrUALMMbN24FbgLAB3/z6wg9SdfM3AEeCG4NiIX8/6qiMREQmlsH0GJSIiAiigREQkpBRQIiISSgooEREJJQWUiIiEkgJKRERCSQElIiKh9P8BeiWtd9TMnBMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "****************************ending PRINT output\n",
      "\n",
      "-----------------------------beginning final results\n",
      "*********branch= pure\n",
      "state vector:\n",
      "ZL convention (Zero bit Last in state tuple)\n",
      "(000)ZL ( 0.220423 + 0.000000j)\t prob=0.048586\n",
      "(010)ZL ( 0.189609 + 0.000000j)\t prob=0.035952\n",
      "(001)ZL ( 0.015154 + 0.000000j)\t prob=0.000230\n",
      "(101)ZL ( 0.000000 + 0.044252j)\t prob=0.001958\n",
      "(011)ZL (-0.955654 + 0.000000j)\t prob=0.913274\n",
      "total probability of state vector (=one if no measurements)= 1.000000\n",
      "dictionary with key=qubit, value=(Prob(0), Prob(1))\n",
      "{0: (0.084538, 0.915462), 1: (0.050774, 0.949226), 2: (0.998042, 0.001958)}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-----------------------------ending final results\n",
      "\n"
     ]
    }
   ],
   "source": [
    "all_var_nums = [1, 2, 3, 4]\n",
    "def fun(a, b):\n",
    "    return a*b*.5\n",
    "fun_name_to_fun = {'fun': fun}\n",
    "\n",
    "# re-run this cell if you change the arguments of run_sim_gui()\n",
    "%matplotlib inline\n",
    "run_sim_gui(file_prefix, num_qbits, all_var_nums, fun_name_to_fun=fun_name_to_fun, \n",
    "            append_new=True, sty_fin_desc='ALL+')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "01245c36dbde477aa7687a022e75d1ca": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "0599900cee1144efa340ab85304efb2e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "06408b8bdbf4427db9fe0538ad006a10": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "LinkModel",
      "state": {
       "source": [
        "IPY_MODEL_56f97c39df9b42e09c0f033493f55192",
        "value"
       ],
       "target": [
        "IPY_MODEL_ecf2e25e392343ffb0c1aa9ba7eed694",
        "value"
       ]
      }
     },
     "0c0f9e3bc62c45c9a6803a4149f705e0": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "VBoxModel",
      "state": {
       "children": [
        "IPY_MODEL_dba7dcc669f24455bc388b381a96e1e1",
        "IPY_MODEL_76aa65a15cd24c1ea7c82fe0e18adef8"
       ],
       "layout": "IPY_MODEL_7bfe171bf49641bc8c4207cdff9dcabf"
      }
     },
     "0c1662c43e054b8d9a10dd35b176d42b": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "110px"
      }
     },
     "13e7eeb1ce9147d1b1697ecd383237b7": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "1c34e964cc1145c1930e9e9f8935cd8f": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "1f7a9ef74ad443adb7cd82c4e1b4be48": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "27e2ceb946184191ba929a54f406f827": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "ButtonStyleModel",
      "state": {}
     },
     "28318e46020b44bd8396ea3afb7aa4a6": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "FloatSliderModel",
      "state": {
       "layout": "IPY_MODEL_2d3f22f77af0495e830f366493898417",
       "max": 1080,
       "orientation": "vertical",
       "step": 10,
       "style": "IPY_MODEL_0599900cee1144efa340ab85304efb2e",
       "value": 70
      }
     },
     "2d3f22f77af0495e830f366493898417": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "2ff71ecb3d9240b5a2d6d733a7a8e760": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "LabelModel",
      "state": {
       "layout": "IPY_MODEL_1c34e964cc1145c1930e9e9f8935cd8f",
       "style": "IPY_MODEL_3ba2f2498db0452a964fc663eed7b7dc",
       "value": "degs_4"
      }
     },
     "3290d1734a7b4556bdc469d27043c296": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "VBoxModel",
      "state": {
       "children": [
        "IPY_MODEL_28318e46020b44bd8396ea3afb7aa4a6",
        "IPY_MODEL_afc9c1b33ca44ae8bc45eba4583ebbff",
        "IPY_MODEL_2ff71ecb3d9240b5a2d6d733a7a8e760"
       ],
       "layout": "IPY_MODEL_d3e3dc9f83a143c4a5f4fc04843247ec"
      }
     },
     "34a6ca8b9c0744eaab64032d07568a77": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "3ba2f2498db0452a964fc663eed7b7dc": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "410e1ff9ad2a417e89367c14e2896bef": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "44c860dbb7e242428d8b2d48eb4bbd31": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "FloatTextModel",
      "state": {
       "layout": "IPY_MODEL_a97c5e691b0343968873775496f7de40",
       "step": null,
       "style": "IPY_MODEL_f671933933ef4739adbb23bfb00069a3",
       "value": 380
      }
     },
     "511be12a261f4c0c81909814bdbd1d5c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "VBoxModel",
      "state": {
       "children": [
        "IPY_MODEL_56f97c39df9b42e09c0f033493f55192",
        "IPY_MODEL_ecf2e25e392343ffb0c1aa9ba7eed694",
        "IPY_MODEL_6710a5da23db40e68b62c98f1e8ed236"
       ],
       "layout": "IPY_MODEL_410e1ff9ad2a417e89367c14e2896bef"
      }
     },
     "56f97c39df9b42e09c0f033493f55192": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "FloatSliderModel",
      "state": {
       "layout": "IPY_MODEL_eefd49abc1e54266b5fd303e8f3094cc",
       "max": 1080,
       "orientation": "vertical",
       "step": 10,
       "style": "IPY_MODEL_e608c5988be646189ecacfaae5befda9",
       "value": 130
      }
     },
     "6710a5da23db40e68b62c98f1e8ed236": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "LabelModel",
      "state": {
       "layout": "IPY_MODEL_c4d235b5f6984dcc85df1766ab42e2fd",
       "style": "IPY_MODEL_edf1da166d60415f96251700e64f9ecd",
       "value": "degs_1"
      }
     },
     "6c1a98e11ca446488c88b1c5dec7e1b8": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "VBoxModel",
      "state": {
       "children": [
        "IPY_MODEL_a0832cacb09842b8a23a79aa534b4026",
        "IPY_MODEL_c6f6dba09f6f429b9c1e03205df573d2",
        "IPY_MODEL_d84e4046da2a4cadbc911cc08906c15b"
       ],
       "layout": "IPY_MODEL_d6f72d9a0e22489f854f069b27520169"
      }
     },
     "7356baff840540eb96a75469c925f740": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "ButtonStyleModel",
      "state": {}
     },
     "76aa65a15cd24c1ea7c82fe0e18adef8": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "ButtonModel",
      "state": {
       "button_style": "danger",
       "description": "Erase Output",
       "layout": "IPY_MODEL_0c1662c43e054b8d9a10dd35b176d42b",
       "style": "IPY_MODEL_7356baff840540eb96a75469c925f740"
      }
     },
     "79abc78d3f934bb1ba136774d4a629b5": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "LabelModel",
      "state": {
       "layout": "IPY_MODEL_fae499dbe8644da297adf5762c7b0fb9",
       "style": "IPY_MODEL_d3f8a4e7bd534254a717f7a0d9fbcfdd",
       "value": "degs_3"
      }
     },
     "7a032cf67aa44b1eb0dfb22c16eba75b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "FloatSliderModel",
      "state": {
       "layout": "IPY_MODEL_b4848b3db815470381f934d22a369eaf",
       "max": 1080,
       "orientation": "vertical",
       "step": 10,
       "style": "IPY_MODEL_1f7a9ef74ad443adb7cd82c4e1b4be48",
       "value": 380
      }
     },
     "7bfe171bf49641bc8c4207cdff9dcabf": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "7e12bf4ae31848438f43542ddf19403a": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "HBoxModel",
      "state": {
       "children": [
        "IPY_MODEL_511be12a261f4c0c81909814bdbd1d5c",
        "IPY_MODEL_6c1a98e11ca446488c88b1c5dec7e1b8",
        "IPY_MODEL_aa3ebbe09f904cd9bcb1199acde01dd1",
        "IPY_MODEL_3290d1734a7b4556bdc469d27043c296",
        "IPY_MODEL_0c0f9e3bc62c45c9a6803a4149f705e0"
       ],
       "layout": "IPY_MODEL_13e7eeb1ce9147d1b1697ecd383237b7"
      }
     },
     "8d54467a56db496a84a18fbe87202c34": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "LinkModel",
      "state": {
       "source": [
        "IPY_MODEL_28318e46020b44bd8396ea3afb7aa4a6",
        "value"
       ],
       "target": [
        "IPY_MODEL_afc9c1b33ca44ae8bc45eba4583ebbff",
        "value"
       ]
      }
     },
     "a0832cacb09842b8a23a79aa534b4026": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "FloatSliderModel",
      "state": {
       "layout": "IPY_MODEL_e5bfad5452fb45dd9409c0f1326dc890",
       "max": 1080,
       "orientation": "vertical",
       "step": 10,
       "style": "IPY_MODEL_e170b826512046078da5d3f22201b701",
       "value": 240
      }
     },
     "a940c834fc5f4d1aab9dea8ed1b83cc4": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "110px"
      }
     },
     "a97c5e691b0343968873775496f7de40": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "70px"
      }
     },
     "a9baa516247f4370ad7c9a69f36e2831": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "LinkModel",
      "state": {
       "source": [
        "IPY_MODEL_a0832cacb09842b8a23a79aa534b4026",
        "value"
       ],
       "target": [
        "IPY_MODEL_c6f6dba09f6f429b9c1e03205df573d2",
        "value"
       ]
      }
     },
     "aa3ebbe09f904cd9bcb1199acde01dd1": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "VBoxModel",
      "state": {
       "children": [
        "IPY_MODEL_7a032cf67aa44b1eb0dfb22c16eba75b",
        "IPY_MODEL_44c860dbb7e242428d8b2d48eb4bbd31",
        "IPY_MODEL_79abc78d3f934bb1ba136774d4a629b5"
       ],
       "layout": "IPY_MODEL_e10fcb6cc5b94077840e18fb4372b316"
      }
     },
     "afc9c1b33ca44ae8bc45eba4583ebbff": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "FloatTextModel",
      "state": {
       "layout": "IPY_MODEL_afff2beaaa29496da6328f3dc03ed1fd",
       "step": null,
       "style": "IPY_MODEL_f08c16c3889649e49a1d6fef5b92561a",
       "value": 70
      }
     },
     "afff2beaaa29496da6328f3dc03ed1fd": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "70px"
      }
     },
     "b37ea3dd4289435eb4cae5390daddd52": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "b4848b3db815470381f934d22a369eaf": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "b8989e2f1269481ebdc549b9a5933234": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "70px"
      }
     },
     "c4d235b5f6984dcc85df1766ab42e2fd": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "c6f6dba09f6f429b9c1e03205df573d2": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "FloatTextModel",
      "state": {
       "layout": "IPY_MODEL_b8989e2f1269481ebdc549b9a5933234",
       "step": null,
       "style": "IPY_MODEL_01245c36dbde477aa7687a022e75d1ca",
       "value": 240
      }
     },
     "cdc3a8d1e12040449fd3364ec3dd885e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "LinkModel",
      "state": {
       "source": [
        "IPY_MODEL_7a032cf67aa44b1eb0dfb22c16eba75b",
        "value"
       ],
       "target": [
        "IPY_MODEL_44c860dbb7e242428d8b2d48eb4bbd31",
        "value"
       ]
      }
     },
     "d3e3dc9f83a143c4a5f4fc04843247ec": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "d3f8a4e7bd534254a717f7a0d9fbcfdd": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "d6f72d9a0e22489f854f069b27520169": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "d84e4046da2a4cadbc911cc08906c15b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "LabelModel",
      "state": {
       "layout": "IPY_MODEL_b37ea3dd4289435eb4cae5390daddd52",
       "style": "IPY_MODEL_34a6ca8b9c0744eaab64032d07568a77",
       "value": "degs_2"
      }
     },
     "dba7dcc669f24455bc388b381a96e1e1": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "ButtonModel",
      "state": {
       "button_style": "danger",
       "description": "Run",
       "layout": "IPY_MODEL_a940c834fc5f4d1aab9dea8ed1b83cc4",
       "style": "IPY_MODEL_27e2ceb946184191ba929a54f406f827"
      }
     },
     "e0ceb477182446e9a9b247ca223216d4": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "70px"
      }
     },
     "e10fcb6cc5b94077840e18fb4372b316": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "e170b826512046078da5d3f22201b701": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "e48b3003a6a148f5aa12b09862694e9e": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "e5bfad5452fb45dd9409c0f1326dc890": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "e608c5988be646189ecacfaae5befda9": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "SliderStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "ecf2e25e392343ffb0c1aa9ba7eed694": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "FloatTextModel",
      "state": {
       "layout": "IPY_MODEL_e0ceb477182446e9a9b247ca223216d4",
       "step": null,
       "style": "IPY_MODEL_e48b3003a6a148f5aa12b09862694e9e",
       "value": 130
      }
     },
     "edf1da166d60415f96251700e64f9ecd": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "eefd49abc1e54266b5fd303e8f3094cc": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "f08c16c3889649e49a1d6fef5b92561a": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "f671933933ef4739adbb23bfb00069a3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "1.4.0",
      "model_name": "DescriptionStyleModel",
      "state": {
       "description_width": ""
      }
     },
     "fae499dbe8644da297adf5762c7b0fb9": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "1.1.0",
      "model_name": "LayoutModel",
      "state": {}
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
